package Tests;

import java.math.BigDecimal;
import java.util.Observer;

import org.junit.Before;
import org.junit.Test;

import BoiteDeChocolat.BoiteDeChocolat;
import BoiteDeChocolat.BoiteDeChocolat3;
import BoiteDeChocolat.BoitePleineException;
import BoiteDeChocolat.OeufChocolat;
import ChampionFactory.AbstractChampionFactory;
import ChampionFactory.ChampionADistanceFactory;
import Chocolatier.ConditionneurChocolatier;
import Chocolatier.FabricantChocolatier;
public class SaisonTest {
	private AbstractChampionFactory a ;
	private AbstractChampionFactory b ;
	private FabricantChocolatier fc1;
	private FabricantChocolatier fc2;
	private BoiteDeChocolat b3;
	private ConditionneurChocolatier c;
	
	@Before
	public void setUp() throws Exception
	{
		a = new ChampionADistanceFactory();
		b= new ChampionADistanceFactory();
		fc1 = new FabricantChocolatier("Noir", 1,new BigDecimal("5.00"));
		fc2 = new FabricantChocolatier("Au lait", 1,new BigDecimal("6.00"));
		b3 = new BoiteDeChocolat3();
		c = ConditionneurChocolatier.getInstance();
	}
	
	@Test
	public void prixTestSaison() throws BoitePleineException{
		//Initialize the pattern oberver
		a.addObserver((Observer) c);
		b.addObserver((Observer) c);
		a.setSaison(true);
		for(int i =0;i<3; i++)
			b3 = new OeufChocolat(b3,fc1.createProduit());
		BigDecimal coutFabriquant = b3.calculerCout();
		BigDecimal prixVente = c.determinerPrix(b3,3);  
		System.out.println(c.checkSaveur(b3.afficheDescription()));
	}
	
	@Test
	public void prixTestSaisonBoite9() throws BoitePleineException{
		//Initialize the pattern oberver
		a.addObserver((Observer) c);
		b.addObserver((Observer) c);
		a.setSaison(true);
		for(int i =0;i<3; i++)
			b3 = new OeufChocolat(b3,fc1.createProduit());
		BigDecimal coutFabriquant = b3.calculerCout();
		BigDecimal prixVente = c.determinerPrix(b3,3);  
		System.out.println(c.checkSaveur(b3.afficheDescription()));
	}
	
	
}
